Interfaces

Main Interfaces

The following are the main interfaces you use when developing a client application that communicates with TerraExplorer Plus or TerraExplorer Pro. There are additional interfaces that the following interfaces are derived from. For further information on all derived interfaces, read each interface section. Older versions of some interfaces are also exposed by TerraExplorer. It is highly advised to always use the latest available interface version. For older interface help topics see the documentation for the respective version.

The ISGWorld81 Interface

ISGWorld81 in the main entry point to most TerraExplorer interfaces. Through this interface you can manage your application and 3D content and handle events.

The interfaces listed below are the main properties of the ISGWorld81 interface. SeeISGWorld81” for a full list of all ISGWorld properties, methods and events.

§  IProject81 (.Project) – Open the project, manage its properties and save the project.

§  INavigate81 (.Navigate) – Navigate in the 3D World by setting the camera position and produce complex movements such as FlyTo and ZoomIn and ZoomOut.

§  IProjectTree81 (.ProjectTree) - Provides complete access to the TerraExplorer Project Tree. It allows the creation of groups and queries on objects in the Tree.  

§  ICreator81 (.Creator) – Create and delete all layers, objects, positions, geometry, colors, and presentations.

§  IAnalysis81 (.Analysis) – Perform terrain analysis operations

§  ITerrain81 (.Terrain) – Exposes information, such as the MPT file name that is being used, and additional information about the MPT coordinate system, and height information.

§  IWindow81 (.Window) – Allow the user to query the 3D World according to points on the screen, create and manage popup windows, create snapshots and manage user interface elements such as on screen layers and controls.  

§  ICommand81 (.Command) – Enable activation of TerraExplorer user interface operations such as turning on and off the underground mode or start manual object editing.

§  ICoordServices81 (.CoordServices) – Coordinate system related features. It allows you to define a coordinate system for your input coordinates, and have TerraExplorer convert them to the coordinate system of the current terrain database.

§  ISGServer81 (.SGServer) – Connect and disconnect from a SkylineGlobe Server and return information about the currently connected server.

§  Events Listen to TerraExplorer events using the AttachEvent method.

Note:     The current set of interfaces is supported by TerraExplorer v8.1. When working with older versions of TerraExplorer, refer to the relevant Programmers Guide.

The ICreator81 Interface

The ICreator81 interface is the main factory for objects, layers and geometry. 

§  Feature Layers – Load feature layers and create new ones.  

§  Raster Layers – Load imagery and elevation raster layers.

§  Mesh Layers –Load from a file or from SGS unified, stream optimized 3D Mesh Layer (3DML) databases.

§  Presentations – Create new presentations.

§  Locations – Create position object and locations.

§  2D Objects –Set of interfaces that handle text and image labels and 2D primitives (Text label, Image label, Polyline, Polygon, Rectangle, Regular Polygon, 2D Arrow, Circle, Ellipse, Arc and VideoOnTerrain).

§  3D Objects –Set of interfaces that handle 3D models and primitives (3D Model, Point Cloud Model, Building, 3D Polygon, Box, Cylinder, Sphere, Cone, Pyramid and 3D Arrow).

§  Messages –Interfaces to add a message that can be associated to other objects, and a Project Tree message.

The IAnalysis81 Interface

The IAnalysis81 interface is the factory for all terrain analysis objects. 

§  Line of sight analysis

§  Viewshed analysis

§  3D viewshed analysis

§  Viewshed visibility query

§  Threat dome

§  Contour map

§  Slope map

§  Terrain area

§  Terrain perimeter

§  Terrain surface area

§  Terrain surface perimeter

§  Shadow visibility query

§  Flood analysis

§  Volume analysis

§  Terrain profile

TerraExplorer Viewer Interfaces

The TerraExplorer Viewer supports a subset of the interfaces presented in this guide.

The following interfaces are supported:

IProject81

Available except for Project Setting method

INavigate81

Available

IProjectTree81

Available

ICreator81

CreatePosition, CreatePopupMessage

IAnalysis81

Available

IWindow81

Available

ICommand81

Only commands that start operations available in the TerraExplorer Viewer User Interface

ICoordServices81

Available

Events

Available

 

The available API interfaces for TerraExplorer Viewer provide similar capabilities as available in the TerraExplorer Viewer standard user interfaces, e.g., an interface for creating a 3D Polygon is not available, since you cannot create a 3D polygon using the TerraExplorer Viewer user interface. Creating polylines, polygons and labels are not available through the API although they are available through the user interface.

ActiveX Controls – Main Interfaces

TerraExplorer provides the ability to embed the 3D Window, the Information Window (Project Tree), and external 3D windows as ActiveX components, in your custom application GUI or in a web page (Legacy Internet Explorer only).

The following are the main available ActiveX controls and related event interfaces.

§  ITE3DWindow – Provides access to the 3D Window ActiveX control and keyboard override.

§  _ITE3DWindowEvents – Allows the client to get keyboard notifications, and manage them.

§  ITEInformationWindow – Provides access to the Information Window ActiveX control.

§  ITE3DWindowEx – Provides access to the external 3D Window Active X controls and allows creating SGWorld objects from them.   

§  ITEInformationWindowEx – Provides access to the Information Window  control for an attached 3DWindowEx control.  

SeeActiveX Controls” chapter for further information on using the ActiveX objects and related interfaces.